package dongze.com.ckdj.dagger.component;

import javax.inject.Singleton;

import dagger.Component;
import dongze.com.ckdj.CKDJApplication;
import dongze.com.ckdj.TestServiceActivity;
import dongze.com.ckdj.activity.BaseActivity;
import dongze.com.ckdj.activity.ImageUploadActivity;
import dongze.com.ckdj.activity.SignInActivity;
import dongze.com.ckdj.dagger.DataStore;
import dongze.com.ckdj.dagger.module.MainModule;
import dongze.com.ckdj.fragment.UserConfigurationFragment;
import dongze.com.ckdj.map.MapUtil;
import dongze.com.ckdj.persistence.dao.DaoSession;

/**
 * Created by fanqwz on 2017/8/11.
 */

@Singleton
@Component(modules = MainModule.class)
public interface AppComponent {
    AppComponent getMainComponent();

    CKDJApplication getContext();

    DaoSession getDao();

    DataStore getDataStore();

    void inject(BaseActivity activity);

    void inject(SignInActivity activity);

    void inject(UserConfigurationFragment fragment);

    void inject(TestServiceActivity activity);

    void inject(MapUtil mapUtil);

    void inject(ImageUploadActivity activity);

    void inject(CKDJApplication application);
}
